This invention relates to apparatus and method for smoothing a curve, and particularly, to apparatus and method for smoothing a multi-segmented curve.
An important class of computer programs includes computer aided design (CAD) tools and graphics illustration software. To create a drawing using a CAD layout or a graphics design software, users typically select one or more objects and place each object on a drawing sheet, as displayed by the software on a monitor or other suitable display device. Users can also edit and manipulate these objects to achieve the desired appearance. Application software normally supplies common symbols or objects such as squares, rectangles, circles, and ovals, among others, for the user to select and manipulate in arriving at the design. Further, the software also typically provides tools to assist the user in drafting straight lines and curvilinear segments on the digital drawing.
The process of placing and editing curves is generally a trial and error process, as users generally are unable to draw one continuous curve with multiple turning points or segments on the computer. Such attempts generally result in a noisy curvilinear segment manifesting itself as a sequence of jagged curves, each of which is defined by begin and end points. In addition to being visually undesirable, the editing, displaying and saving of the sequence of jagged curves can become quite complex. Thus, for the sake of visual appearance and manipulation simplicity, it is desirable to replace the noisy curves with smoothed versions of these curves.
To characterize the curvilinear segment, the corners between adjacent drawn segments need to be identified from the jagged, noisy curve. An accurate and quick method for determining the end points that is noise tolerant and that provides a good localization of the corner is disclosed in the commonly owned, co-pending application having Ser. No. 08/882,695, entitled "CHARACTERIZATION OF CORNERS OF CURVILINEAR SEGMENT" filed concurrently, hereby incorporated by reference.
Once the begin and end points have been identified, the curve can be smoothed. Conventional processes smooth adjacent points on the curve. Such smoothing reduces the jaggedness of the curvilinear segment. However, such averaging generally flattens the curve and can change the overall shape of the intended curve. Furthermore, averaging may cause a shrinkage of the actual curve radius, leading to an improper characterization of the curve. Thus, it is desirable to smooth the curve of a noisily drawn curve without affecting its characteristics, including the shape and radius.